Controller system and method for controlling a cursor

ABSTRACT

A controller for controlling a cursor includes an identifying module for identifying at least one of a first period when a cursor is in motion and a second period when the cursor is not in motion, and a calibrating module for calibrating an input parameter signal using a first hands-off test during the first period and a second hands-off test, different than the first hands-off test, during the second period.

RELATED APPLICATIONS

This application is a Continuation application of U.S. patentapplication Ser. No. 10/720,186, filed on Nov. 25, 2003 now U.S. Pat.No. 7,432,908.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a controller, system and method forcontrolling a cursor and, more particularly, to a controller, system andmethod for controlling a cursor in which an input parameter signal iscalibrated using a first hands-off test when a cursor is in motion and asecond hands-off test, different than the first hands-off test, when acursor is not in motion.

2. Description of the Related Art

Pointing stick cursor control systems, such as the TrackPoint® system,sense finger force at high precision (compared to overload capacity) andtranslate it (via a transfer function) to velocity of movement of thecursor on the graphical user interface (GUI) display screen. Theelectrical signals produced by the sensing element are necessarily small(microvolts) and subject to relatively slow drift due to temperature andother environmental changes.

This drift must be detected and removed from the significant signal,otherwise incorrect movement signals will be transmitted, with the mostnoticeable effect being spontaneous movement of the cursor. This is doneby identifying periods when the stick is not being touched (hands-offperiods), and using the signal detected at these times as the ‘zero’signal, relative to which a significant signal is measured(calibrating).

To prevent cursor movement from a minimal signal change before it can becorrected, cursor movement is produced only when a certain minimalrelative signal is detected. That is, there is a dead band in thetransfer function—signal values close to but not zero for which nomovement is produced.

Hands-off periods may be identified from the properties of the signalitself, or some other means, e.g. a capacitive proximity detector, maybe used alone or in combination. In any case this can be done onlyprobabalistically—a small force applied perfectly steadily may exactlymimic a temperature drift, and proximity may not mean contact—with theprobability of error depending on the noise level (e.g., highfrequency >10 Hz), the signal analysis and other detection method, thelength of the signal sample analyzed, and perhaps other factors.

Since the signal is small, control of the noise level is difficult. Thetesting time should be made as short as possible for two principlereasons. First, the user may touch the stick almost continuously, andthe shorter the testing time, the more frequently recalibration can bedone and the less likely it is that the signal drift will become largeenough to cause cursor drift. Secondly, if cursor drift does occur, itwill continue until the stick is untouched for at least a testing time.Further, since signal drift normally occurs slowly (e.g., withtemperature or other environmental change), there will normally be anextended period when it is detectable but still within the dead band.This allows a recalibration before a cursor movement occurs, andnormally avoids spontaneous cursor movement.

However, this may fail for either of two reasons. First, it may fail ifthe hands-off test fails continuously while the signal drifts outsidethe dead band relative to its initial value. Second, it may fail if a“hands-off” period is detected in error, and a recalibration occurs to asignal value which is actually outside the dead band relative to thetrue “hands-off” signal. In the latter case, the cursor, which isproperly in motion, stops and when the stick is released it moves withthe opposite velocity until a correct recalibration occurs (e.g., for atleast the testing time, and longer if the user interferes).

These two failure causes are conflicting. That is, the first cause maybe avoided by making the test less stringent (e.g. shortening thetesting time), and the second cause may be avoided by making the testmore stringent (e.g. lengthening the testing time). Thus, the solutionto date for the TrackPoint system has been to choose a compromise value,first 2.88 seconds with measurement precision 3.2 grams, and currently0.53 seconds with precision 0.8 grams.

Further, in some other pointing stick systems, an input signal is neverrecalibrated when the cursor is in motion (the more-stringent testalways fails) so that the second case error cannot occur. When cursordrift does occur (due to a first-case error), it continues until theuser intervenes, with a special key or a reboot.

Thus, in spite of these and other attempts, cursor drift continues to bea nuisance.

SUMMARY OF THE INVENTION

In view of the foregoing and other problems, disadvantages, anddrawbacks of the aforementioned conventional systems and methods, it isa purpose of the exemplary aspects of the present invention to provide acontroller, system and method for controlling a cursor which has animproved control of cursor drift.

The present invention includes a controller for controlling a cursor,which includes an identifying module for identifying at least one of afirst period when the cursor is in motion and a second period when thecursor is not in motion, and a calibrating module for calibrating aninput parameter signal (e.g., to inhibit a cursor drift) using a firsthands-off test during the first period.

Further, the identifying module may input the input parameter signalfrom a force sensor, and the calibrating module may output a calibratedinput parameter signal to an output module. Further, the input parametersignal may include an input parameter signal detected during a periodwhen the force sensor is untouched (e.g., by a user). In addition, atransfer function for generating the cursor movement signal may includea dead band such that the cursor movement signal causes no cursormovement whenever the calibrated input parameter signal has a valuewithin said dead band.

Further, the calibrating module may calibrate the input parameter signalduring a hands-off period. That is, the first and second hands-off testsmay be used by the calibrating module to determine a hands-off periodduring which a device (e.g., a pointing stick) for controlling thecursor is not being touched by a user. The calibrating module may thenset a signal (e.g., input parameter signal) detected during thehands-off period as a zero signal, relative to which a significantsignal (e.g., input parameter signal) is measured.

Further, in an exemplary aspect of the present invention, the firsthands-off test may include a duration of at least about 5 seconds, andthe second hands-off test may include no more than about 0.53 seconds.

Another exemplary aspect of the present invention includes a cursorcontrol system which includes a force sensor (e.g., a pointing devicewhich is attached to (e.g., included in) the keyboard assembly) whichgenerates an input parameter signal, and a controller operably coupledto the force sensor. The controller includes an identifying module foridentifying at least one of a first period when a cursor is in motionand a second period when the cursor is not in motion, and a calibratingmodule for calibrating an input parameter signal using a first hands-offtest during the first period and a second hands-off test, different thanthe first hands-off test during the second period.

Another exemplary aspect of the present invention includes a keyboardassembly including the inventive cursor control system. For example, theforce sensor may include a pointing device which is in a keyboard.

Another exemplary aspect of the present invention includes a computersystem which includes a keyboard assembly including the inventive cursorcontrol system, and a display device for displaying a cursor controlledby the cursor control system.

Another exemplary aspect of the present invention includes a method ofcontrolling a cursor. The method includes identifying at least one of afirst period when a cursor is in motion and a second period when thecursor is not in motion, and calibrating an input parameter signal usinga first hands-off test during the first period and a second hands-offtest different than (e.g. less stringent than) the first hands-off testduring the second period.

In one exemplary aspect, the method of controlling a cursor includesidentifying at least one of a first period when a cursor is in motionand a second period when the cursor is not in motion, determining ahands-off period during which a device for controlling the cursor is notbeing touched by a user, by using a first hands-off test during thefirst period and a second hands-off test different than the firsthands-off test during the second period, and calibrating a significantinput parameter signal by identifying an input parameter signal detectedduring the hands-off period as having a zero value, relative to whichsaid significant input parameter signal is measured.

The present invention also includes a programmable storage mediumtangibly embodying a program of machine-readable instructions executableby a digital processing apparatus to perform the inventive method.

With its unique and novel features, the present invention provides acontroller, system and method for controlling a cursor which has animproved control of cursor drift over conventional controllers, systemsand methods.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects and advantages will be betterunderstood from the following detailed description of the embodiments ofthe invention with reference to the drawings, in which:

FIG. 1 illustrates a controller 100 for controlling a cursor and acursor control system 150, in accordance with an exemplary aspect of thepresent invention.

FIG. 2 illustrates a keyboard assembly 250, in accordance with anexemplary aspect of the present invention;

FIG. 3 illustrates a method 300 of controlling a cursor, in accordancewith an exemplary aspect of the present invention;

FIG. 4 illustrates a typical hardware configuration 400 that may be usedto implement the controller 100, cursor control system 150 and method300 of controlling a cursor, in accordance with an exemplary aspect ofthe present invention; and

FIG. 5 illustrates a magnetic data storage diskette 500 that may be usedto store instructions for performing the inventive method 300, inaccordance with an exemplary aspect of the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS OF THE INVENTION

Referring now to the drawings, FIG. 1 illustrates a controller 100 forcontrolling a cursor according to an exemplary aspect of the presentinvention. As shown in FIG. 1, the controller 100 may include anidentifying module 110 for identifying at least one of a first periodwhen a cursor is in motion and a second period when the cursor is not inmotion, and a calibrating module 120 for calibrating an input parametersignal 105 using a first hands-off test during the first period and asecond hands-off test different than the first hands-off test, duringthe second period.

As illustrated in FIG. 1, the controller 100 may input a parametersignal 105 from a force sensor 200, and output a calibrated inputparameter signal (e.g., calibrated force signal) 122 to an output module130, which may output a cursor movement signal 125 based on thecalibrated force signal 122.

Further, in the exemplary embodiment of FIG. 1, the identifying module110 and the calibrating module 120 are provided together. Alternatively,these features may be separately provided (e.g., remotely provided) inthe present invention. For example, the controller 100 may includeseveral separate and distinct components for providing its features.

As further illustrated in FIG. 1, another exemplary aspect of thepresent invention includes a cursor control system 150 which includes aforce sensor 200 which generates an input parameter signal, theinventive controller 100 operably coupled to the force sensor, forgenerating a calibrated force signal 122, and an output module 130 whichoutputs a cursor movement signal 125 based on the calibrated forcesignal 122.

As illustrated in FIG. 2, another exemplary aspect of the presentinvention includes a keyboard assembly 250 which may be used inaccordance with the exemplary aspects of the present invention. Forexample, features of the controller 100 and/or the cursor control system150 may be included in (e.g., attached to) the keyboard assembly 250.For example, the keyboard assembly 250 may include a keypad 260 and apointing device 270 which is included as part of the keyboard assembly250.

In this exemplary aspect, the pointing device 270 may include, forexample, the force sensor 200 of the cursor control system 150. Further,the controller 100 may be formed adjacent to the pointing device 270 inthe keyboard assembly 250, or it may be located elsewhere. The keyboardassembly 250 may also include selection buttons 280 associated with thepointing device 270, and may be included with a display device as partof a computer system (e.g., a graphical user interface (GUI)).

The cursor control system of the present invention may be incorporatedinto a graphical user interface cursor positioning device such as thatdescribed in Barrett et al, “Graphical User Interface Cursor PositioningDevice Having a Negative Inertia Transfer Function” (U.S. Pat. No.5,570,111), which is commonly assigned with the present invention, andis incorporated herein by reference.

The pointing stick may be operated with a fingertip, placed on the capof the pointing stick which may extend, for example, about 1 mm abovethe adjacent keys.

Functionally, the pointing stick provides cursor positioning and graphicinput, duplicating the function of a mouse or trackball, but withoutrequiring the user to leave typing position, and without any additionaldevice to be carried, or requiring desk space. Special processing givesthe user a sense of ease of use and positive control.

The pointing stick system may include an internal processing element(e.g., the controller 100 illustrated in FIG. 1) which interfaces withthe host through the auxiliary device port. The logical function andelectrical interface may be compatible with the mouse and mouse driversand other software may be used unaltered.

A user may operate the pointing stick system 270 by pushing laterallyagainst the top of the pointing stick with his fingertip. The pointingstick does not necessarily displace, as in the case of a joystick. Theinput parameter includes the force applied by the user, and the force ismapped to cursor movement. The force against the device is sensed, andthe cursor movement is made at a rate determined by the transferfunction, over the length of time the pressure is applied.

The speed of cursor movement may be proportional to the magnitude of theforce applied, or have some other predetermined relationship, as definedby the device's transfer function. For example, the pointing devicesystem may be implemented as having a sigmoid transfer function,including a “dead zone” in which very small forces are ignored, and aseries of regions in the input parameter domain, where, in each region,the cursor movement is a piecewise linear function of the inputparameter. The piecewise linear segments approximate the sigmoid shape.

A solution offered by the present invention is to separate the problemof conventional systems into two parts, that is, when the cursor is inmotion, and when it is not. When the cursor is in motion, the presentinvention considers it to be very unlikely that the stick is untouched,so first test (e.g., a very stringent test) is applied. For example, atest time of 5 to 10 seconds with precision of 0.8 grams may be used. Itis very unlikely that an erroneous hands-off detection will occur,although if the cursor is in fact drifting, it will continue to do sofor a long time.

On the other hand, when the cursor is not in motion, a differenthands-off test (e.g., much more lenient test) is applied. For example, atest time of 0.53 seconds may be used. This can catch small hands-offintervals, and track rapid temperature changes. In this case, even ifhands-off is incorrectly reported, little harm is done since noerroneous cursor movement will result.

Further, an error causing cursor drift in the present invention isextremely rare. So rare, in fact, that the average user will likelynever see it.

Referring again to the drawings, as illustrated in FIG. 3, anotheraspect of the present invention includes a method 300 of controlling acursor. The method 300 includes identifying (310) at least one of afirst period when a cursor is in motion and a second period when thecursor is not in motion, and calibrating (320) an input parameter signalusing a first hands-off test during the first period and a secondhands-off test different than (e.g. less stringent than) the firsthands-off test during the second period. For example, the inventivemethod 300 may include the features similar to that of the inventivecontroller 100 outlined above.

Referring now to FIG. 4, system 400 illustrates a typical hardwareconfiguration which may be used for implementing the inventive cursorcontrol system and method of controlling a cursor. The configuration haspreferably at least one processor or central processing unit (CPU) 411.The CPUs 411 are interconnected via a system bus 412 to a random accessmemory (RAM) 414, read-only memory (ROM) 416, input/output (I/O) adapter418 (for connecting peripheral devices such as disk units 421 and tapedrives 440 to the bus 412), user interface adapter 422 (for connecting akeyboard 424, mouse 426, speaker 428, microphone 432, pointing stick 427and/or other user interface device to the bus 412), a communicationadapter 434 for connecting an information handling system to a dataprocessing network, the Internet, an Intranet, a personal area network(PAN), etc., and a display adapter 436 for connecting the bus 412 to adisplay device 438 and/or printer 439. Further, an automatedreader/scanner 441 may be included. Such readers/scanners arecommercially available from many sources.

In addition to the system described above, a different aspect of theinvention includes a computer-implemented method for performing theabove method. As an example, this method may be implemented in theparticular environment discussed above.

Such a method may be implemented, for example, by operating a computer,as embodied by a digital data processing apparatus, to execute asequence of machine-readable instructions. These instructions may residein various types of signal-bearing media.

Thus, this aspect of the present invention is directed to a programmedproduct, including signal-bearing media tangibly embodying a program ofmachine-readable instructions executable by a digital data processor toperform the above method.

Such a method may be implemented, for example, by operating the CPU 411to execute a sequence of machine-readable instructions. Theseinstructions may reside in various types of signal bearing media.

Thus, this aspect of the present invention is directed to a programmedproduct, including signal-bearing media tangibly embodying a program ofmachine-readable instructions executable by a digital data processorincorporating the CPU 411 and hardware above, to perform the method ofthe invention.

This signal-bearing media may include, for example, a RAM containedwithin the CPU 411, as represented by the fast-access storage forexample. Alternatively, the instructions may be contained in anothersignal-bearing media, such as a magnetic data storage diskette 500 (FIG.5), directly or indirectly accessible by the CPU 411.

Whether contained in the computer server/CPU 411, or elsewhere, theinstructions may be stored on a variety of machine-readable data storagemedia, such as DASD storage (e.g, a conventional “hard drive” or a RAIDarray), magnetic tape, electronic read-only memory (e.g., ROM, EPROM, orEEPROM), an optical storage device (e.g., CD-ROM, WORM, DVD, digitaloptical tape, etc.), paper “punch” cards, or other suitablesignal-bearing media including transmission media such as digital andanalog and communication links and wireless. In an illustrativeembodiment of the invention, the machine-readable instructions maycomprise software object code, compiled from a language such as C, C+,etc.

With its unique and novel features, the present invention provides acontroller, system and method for controlling a cursor which has animproved control of cursor drift over conventional controllers, systemsand methods.

While the invention has been described in terms of one or moreembodiments, those skilled in the art will recognize that the inventioncan be practiced with modification within the spirit and scope of theappended claims. Specifically, one of ordinary skill in the art willunderstand that the drawings herein are meant to be illustrative, andthe design of the inventive assembly is not limited to that disclosedherein but may be modified within the spirit and scope of the presentinvention.

Further, Applicant's intent is to encompass the equivalents of all claimelements, and no amendment to any claim the present application shouldbe construed as a disclaimer of any interest in or right to anequivalent of any element or feature of the amended claim.

What is claimed is:
 1. A calibrating module for a controller for acursor, comprising: a module which: detects a hands-off condition bysampling an input parameter signal using a first hands-off test during afirst period when a cursor is in motion, and sampling the inputparameter signal using a second hands-off test which is different thansaid first hands-off test, during a second period when said cursor isnot in motion, a duration of said sampling in said first hands-off testbeing greater than a duration of said sampling in said second hands-offtest; and calibrates said input parameter signal when a hands-offcondition is detected.
 2. The calibrating module of claim 1, whereinsaid controller comprises: an identifying module for identifying saidfirst and second periods.
 3. The calibrating module of claim 2, whereinsaid identifying module inputs said input parameter signal from a forcesensor, and wherein said calibrating module outputs a calibrated inputparameter signal to an output module.
 4. The calibrating module of claim3, wherein said input parameter signal comprises an input parametersignal detected during a period when a pointing stick connected to saidforce sensor is untouched by a user.
 5. The calibrating module of claim2, wherein said controller further comprises: an output module whichoutputs a cursor movement signal based on said calibrated inputparameter signal, wherein a transfer function for generating said cursormovement signal comprises a dead band within which said cursor movementsignal causes no cursor movement for a non-zero input parameter signal.6. The calibrating module of claim 1, wherein said calibrating modulecalibrates said input parameter signal only when said hands-offcondition is detected.
 7. The calibrating module of claim 1, whereinsaid calibrating module calibrates a significant input parameter signalby identifying an input parameter signal detected during said hands-offcondition as having a zero value, relative to which said significantinput parameter signal is measured.
 8. The calibrating module of claim1, wherein said input parameter signal is calibrated to inhibit a cursordrift.
 9. The calibrating module of claim 1, wherein said firsthands-off test comprises a duration of at least about 5 seconds, andsaid second hands-off test comprises no more than about 0.53 seconds.10. The calibrating module of claim 1, wherein said controller isincluded in a pointing stick system, and said input parameter signalmeasures a force applied to a point stick in said pointing stick system.11. A cursor control system, comprising: a force sensor which generatesan input parameter signal; and a controller operably coupled to saidforce sensor, comprising: a calibrating module which: detects ahands-off condition by sampling said input parameter signal using afirst hands-off test during a first period when a cursor is in motion,and sampling said input parameter signal using a second hands-off testwhich is different than said first hands-off test, during a secondperiod when said cursor is not in motion, a duration of said sampling insaid first hands-off test being greater than a duration of said samplingin said second hands-off test; and calibrates said input parametersignal when a hands-off condition is detected.
 12. The cursor controlsystem according to claim 11, further comprising: an output module whichreceives a calibrated input parameter signal from said calibratingmodule and outputs a cursor movement signal based on said calibratedinput parameter signal.
 13. The cursor control system according to claim11, wherein said force sensor comprises a pointing device which isintegrally-formed in a keyboard assembly.
 14. The cursor control systemaccording to claim 11, wherein said first hands-off test comprises aduration of at least about 5 seconds, and said second hands-off testcomprises no more than about 1 second.
 15. The cursor control systemaccording to claim 11, wherein said first hands-off test comprises aduration in a range from 5 seconds to 10 seconds with a precision of 0.8grams.
 16. A keyboard assembly comprising the cursor control systemaccording to claim 11, wherein said force sensor comprises a pointingdevice which is integrally formed in a keyboard.
 17. A computer system,comprising a keyboard assembly comprising the cursor control systemaccording to claim 11; and a display device for displaying a cursorcontrolled by said cursor control system.
 18. A method of calibrating aninput parameter signal in a cursor control system, comprising: detectinga hands-off condition by sampling an input parameter signal using afirst hands-off test during a first period when a cursor is in motion,and sampling the input parameter signal using a second hands-off testwhich is different than said first hands-off test, during a secondperiod when said cursor is not in motion, a duration of said sampling insaid first hands-off test being greater than a duration of said samplingin said second hands-off test; and calibrating said input parametersignal when a hands-off condition is detected.